package com.itheima.edu.info.manager.service;

import com.itheima.edu.info.manager.dao.StudentDao;
import com.itheima.edu.info.manager.domain.Student;

//业务员类
public class StudentService {

    StudentDao dao = new StudentDao();

    //业务员类中的添加学生功能
    public boolean addStudent(Student stu) {
        //指挥库管去添加学生
        boolean result = dao.addStudent(stu);
        return result;
    }

    //业务员类中学生查询功能
    public Student[] findAllStudent() {
        //指挥库管去查询学生
        Student[] stus = dao.findALLStudent();
        //标记位思想,看看业务员返回的数组中有没有有效的信息
        //假设返回的数组中没有学习信息
        boolean flag = false;
        for (int i = 0; i < stus.length; i++) {
            if (stus[i] != null) {
                //只有有一个索引位置记录的元素不为null 就说嘛系统数组中有数据
                //就修改数据标记位为null
                flag = true;
            }
        }
        if (flag) {
            //有数据返回数组地址
            return stus;
        } else {
            //没有数据直接返回null
            return null;
        }
    }

    //业务员类删除学习功能
    public boolean deleteStudent(String deleteId) {
        //指挥库管去删除学生
        return dao.deleteStudent(deleteId);
    }

    //业务员类的修改学生功能
    public boolean updateStudent(String updateId, Student newStu) {
        //指挥库管去修改学生
        return dao.updateStudent(updateId, newStu);
    }

    //业务员类中效验学号是否存在的功能
    public boolean isExists(String updateId) {
        //方案一:指挥库管查询得到所有学生信息,在当前方法中自己查找逻辑'
        //方案二:指挥库管根据学号查找索引功能,根据库管返回的索引值组织当前方法逻辑
        int index = dao.getIdext(updateId);
        //return index != -1;()
        return index == -1 ? false : true;
    }
}
